package com.project.bookstore.book.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("多条件查询图书条件数据")
public class BookMultiConditionVO implements Serializable {
    @ApiModelProperty("图书ID")
    private Long id;
    @ApiModelProperty("图书类别ID")
    private Long classifyId;

    @ApiModelProperty("图书分类")
    private String classify;

    @ApiModelProperty("图书名")
    private String bookName;

    @ApiModelProperty("图书国际书号")
    @JsonProperty(value = "ISBN")
    private String ISBN;

    @ApiModelProperty("图书是否启用")
    @JsonProperty(value = "isEnable")
    private Integer isEnable;

    @ApiModelProperty("图书是否销售")
    @JsonProperty(value = "isMarketable")
    private Integer isMarketable;

    @ApiModelProperty("图书出版社")
    private String press;

    @ApiModelProperty("图书修改时间起")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8", shape = JsonFormat.Shape.STRING)
    private LocalDate modified;

    @ApiModelProperty("图书修改时间止")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8", shape = JsonFormat.Shape.STRING)
    private LocalDate modified2;

    @ApiModelProperty("图书价格")
    private BigDecimal price;

    @ApiModelProperty("库存ID")
    private Long stockId;

    @ApiModelProperty("图书库存起")
    private Integer pcs;

    @ApiModelProperty("图书库存止")
    private Integer pcs2;

    @ApiModelProperty("图书供货商")
    private String supplier;

    @ApiModelProperty("图书销售专员")
    private String salesman;

    @ApiModelProperty("图书成本起")
    private BigDecimal costPrice;

    @ApiModelProperty("图书成本止")
    private BigDecimal costPrice2;


}
